import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  base: './',   // 在生产中服务时的基本公共路径
  publicDir: 'public',  // 静态资源服务的文件夹, 默认"public"
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  // 打包配置
  build: {
    target: 'modules', // 设置最终构建的浏览器兼容目标。modules:支持原生 ES 模块的浏览器
    outDir: 'vue3', // 指定输出路径
    assetsDir: 'assets', // 指定生成静态资源的存放路径
    // assetsInlineLimit: '4096', // 小于此阈值的导入或引用资源将内联为base64编码，设置为0可禁用此项。默认4096（4kb）
    // cssCodeSplit: true, // 启用/禁用CSS代码拆分，如果禁用，整个项目的所有CSS将被提取到一个CSS文件中,默认true
    // sourcemap: false, // 构建后是否生成 source map 文件
    // minify: 'terser', // 混淆器，terser构建后文件体积更小
    // write: true,   //设置为 false 来禁用将构建后的文件写入磁盘
    // emptyOutDir: true,  //默认情况下，若 outDir 在 root 目录下，则 Vite 会在构建时清空该目录。
    // brotliSize: true,  //启用/禁用 brotli 压缩大小报告
    // chunkSizeWarningLimit: 500,  //chunk 大小警告的限制
    // terserOptions: {
    //     compress: {
    //         drop_console: true,
    //         drop_debugger: true,
    //     },
    // },   //去除 console debugger
},
})
